package com.hgl.bi.common.utils;

import cn.hutool.core.util.RandomUtil;
import cn.hutool.crypto.digest.DigestUtil;

/**
 * @program: BI
 * @description: md5工具类
 * @author: hgl
 * @create: 2025-02-12 19:26
 */
public class StrUtil {

    /**
     * 盐值
     */
    private static final String SALT = "hgl";

    /**
     * 获取盐值
     *
     * @param length 长度
     * @return String
     * @author hgl
     */
    public static String getSalt(int length) {
        if (length <= 0) {
            return "";
        }
        return RandomUtil.randomString(length);
    }

    /**
     * md5加密
     *
     * @param str 待加密字符串
     * @return String
     * @author hgl
     */
    public static String encryptByMd5(String str) {
        String saltedStr = str + SALT;
        return DigestUtil.md5Hex(saltedStr);
    }

    /**
     * md5加密
     *
     * @param str  待加密字符串
     * @param salt 盐值
     * @return String
     * @author hgl
     */
    public static String encryptByMd5(String str, String salt) {
        String saltedStr = str + salt;
        return DigestUtil.md5Hex(saltedStr);
    }
}
